offscreenwindow: Copy old to new pixmap using Cairo
authorBenjamin Otte <otte@redhat.com>
Sat, 17 Jul 2010 01:15:33 +0000 (03:15 +0200)
committerBenjamin Otte <otte@redhat.com>
Mon, 26 Jul 2010 14:42:49 +0000 (16:42 +0200)
gdk/gdkoffscreenwindow.c

index b6bc3b45bfb58302a414bc06f4eaf4451ac04dd4..10bba66c6eb94d526e8dda45f4049a9bd750e144 100644 (file)
@@ -873,6 +873,8 @@ gdk_offscreen_window_move_resize_internal (GdkWindow *window,
   if (private->width != width ||
       private->height != height)
     {
+      cairo_t *cr;
+
       private->width = width;
       private->height = height;
 
@@ -882,13 +884,10 @@ gdk_offscreen_window_move_resize_internal (GdkWindow *window,
                                          height,
                                          private->depth);
 
-      gc = _gdk_drawable_get_scratch_gc (offscreen->pixmap, FALSE);
-      gdk_draw_drawable (offscreen->pixmap,
-                        gc,
-                        old_pixmap,
-                        0,0, 0, 0,
-                        -1, -1);
-      g_object_unref (old_pixmap);
+      cr = gdk_cairo_create (offscreen->pixmap);
+      gdk_cairo_set_source_pixmap (cr, old_pixmap, 0, 0);
+      cairo_paint (cr);
+      cairo_destroy (cr);
     }
 
   if (GDK_WINDOW_IS_MAPPED (private))